package org.pine.model.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 通知公告表
 * </p>
 *
 * @author pine
 * @since 2025-04-18
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("pine_notice")
public class Notice extends BaseEntity implements Serializable {


    @Serial
    private static final long serialVersionUID = 479514849020939759L;

    /**
     * 通知标题
     */
    private String title;

    /**
     * 通知内容
     */
    private String content;

    /**
     * 通知类型:1=系统通知,2=活动通知,3=其他
     */
    private Integer type;

    /**
     * 状态:0=失效,1=有效
     */
    private Integer status;

    /**
     * 发布人
     */
    private String publisher;

    /**
     * 发布人id
     */
    private Long publisherId;

    /**
     * 发布时间
     */
    private LocalDateTime publishTime;

    /**
     * 过期时间
     */
    private LocalDateTime expiredTime;

    /**
     * 摘要
     */
    private String summary;

    /**
     * 是否置顶:0=否,1=是
     */
    private Integer topFlag;

    /**
     * 目标类型:0=全体,1=角色,2=用户组
     */
    private Integer targetType;

    /**
     * 目标ID（对应角色/用户组id）
     */
    private Long targetId;

}
